package main

import (
	"go-xorm-01/utils"
	"time"
)

// 创建索引和唯一索引 ：https://xorm.io/zh/docs/chapter-03/3.indexes/
// CreateIndexes
// 根据struct中的tag来创建索引
//
// CreateUniques
// 根据struct中的tag来创建唯一索引
func main() {
	engine := utils.GenerateEngine()
	engine.CreateTables(&UserIndex{})
	engine.CreateIndexes(&UserIndex{})
	engine.CreateUniques(&UserIndex{})
	defer engine.Close()

}

// UserIndex
// @Description: UserIndex
type UserIndex struct {
	Id            int64  `xorm:"pk"`
	Username      string `xorm:"varchar(25) notnull unique 'user_name' comment('姓名')"` // 单字段唯一索引
	Password      string
	RegisterTime  time.Time `xorm:"unique(uniq_time)"` //复合唯一索引字段1
	LastLoginTime time.Time `xorm:"unique(uniq_time)"` //复合唯一索引字段2
}

// TableName
//
//	@Description: 指定表名：默认为:user_index
//	@receiver u
//	@return string
func (u UserIndex) TableName() string {
	return "user_index"
}
